package com.jy.appmarket.screenlock.utils;

import java.util.Set;

import android.content.Context;
import android.text.TextUtils;

/**
 * 类说明：
 * 
 * @author jie.li
 * @date 2015-5-6
 * @version 1.0.0
 */

public class CheckMessage {

	public static boolean checkMessagePkg(Context context, String pkg) {
		if (!TextUtils.isEmpty(pkg) && pkg.equals(context.getPackageName())) {
			return true;
		}
		Set<String> set = LockScreenConfig.getCustomMessagePkg(context);
		if (set == null) {
			return false;
		}
        return !TextUtils.isEmpty(pkg) && set.contains(pkg);
	}

	/**
	 * 拦截的应用有些通知(一般为非未读消息的，比如下载，正在运行的通知等)不适合显示到锁屏上，这里做统一排查
	 * 
	 * @param pkg
	 * @param title
	 * @param content
	 * @return
	 */
	public static boolean checkMessageValid(Context context, String pkg, String title, String content) {
		if (!TextUtils.isEmpty(pkg) && checkMessagePkg(context, pkg) && !TextUtils.isEmpty(title)
				&& !TextUtils.isEmpty(content)) {

			// 如果为qq且title包含正在运行
			if (pkg.equals("com.tencent.mobileqq")
					&& ((title.contains("正在运行") && content.contains("触摸即可了解详情或停止应用")) || content.equals("QQ正在后台运行"))) {
				return false;
			}
			// 如果为qq且title包含正在运行
            return (title == null) || (!title.contains("保护您") && !title.contains("连接电脑") && !title.equals("存在敏感权限")
                    && !title.contains("点此加速") && !title.contains("更新"));
        } else {
			return false;
		}
	}

	public static boolean checkMessageValid(Context context, String pkg, String tickerText) {
		if (!TextUtils.isEmpty(pkg) && checkMessagePkg(context, pkg)) {
			// 如果为qq且title包含正在运行
			if (pkg.equals("com.tencent.mobileqq") && !TextUtils.isEmpty(tickerText)
					&& ((tickerText.contains("正在运行") && tickerText.contains("触摸即可了解详情或停止应用"))
							|| tickerText.equals("QQ正在后台运行"))) {
				return false;
			}
			// 如果为qq且title包含正在运行
            return TextUtils.isEmpty(tickerText) || (!tickerText.contains("保护您") && !tickerText.contains("连接电脑")
                    && !tickerText.equals("存在敏感权限") && !tickerText.contains("点此加速") && !tickerText.contains("更新"));
        } else {
			return false;
		}
	}

}
